|
Date : 12/13 novembre 1992 Programme : VGACOPY V4.6 Protection : MESSAGES de SHAREWARE Outils : SOFT-ICE V2.50 Temps pass� : 2 heures Fichier : VGACOPY.EXE Soci�t� : SHAREWARE Divers : Compact� par PKLITE version PRO. Origine : L.F. Num�ro : 193 Ici la prouesse n'�tait pas de diminuer le comptage du " SHAREWARE COUNTER " ni de modifier les diff�rents messages apparaissant � l'�cran mais plutot de d�compresser le fichier. Le compresseur utilis� �tait PKLITE version PRO. Pourquoi version pro ? Car il comprend une option ( -e ) qui emp�che le REVERSE ENGINEERING. En d'autre terme on ne peut plus expanser un fichier une fois qu'il a �t� comprim�. ( en fait PKLITE PRO est utilis� de plus en plus, essentiellement pour cette raison l� ) J'ai un fichier ( PKLITE.DEP ) qui explique commemt on arrive a d�compacter un fichier compress� avec la version commerciale de PKLITE. Revenons-en � VGACOPY V4.6: Ce programme excellent en VGA et SOUNDBLASTER devient p�nible avec ces 14 secondes de tempo et son message de sortie vers le DOS. Concernant ce dernier, le soft �tant d�comprim� il devient simple de lui faire afficher n'importe quoi. Je l'ai pour ma part simplement vid� de son contenu car la suppression totale influait sur le fonction- nement du programme. Reset HARD, plantage, etc... Je me suis plus pench� sur l'intro pour diminuer le temps d'affichage � une valeur raisonnable de 2 secondes. En lan�ant le programme avec LDR de SOFT-ICE on trouve imm�diatement le CALL responsable de l'affichage des caract�ristiques de l'ordinateur: CS=0FE6 CS:5DA2 C606650500 MOV BYTE PTR [0565],00 CS:5DA7 E846BF CALL 1CF0 CS:5DAA E880C8 CALL 262D ; CALL RESPONSABLE DE L'AFFICHAGE CS:5DAD BFE55C MOV DI,5CE5 En supprimant le CALL on plante le programme. Il faut donc le d�cortiquer. En CS:3A0D on teste le contenu de AX qui curieusement contient 0E c.a.d. 14 en d�cimal ! Ce sont les 14 secondes de la tempo initiale. Cette valeur provient d'une case m�moire point�e par le segment ES. Il est inutile de vouloir modifier le contenu de cette case, il suffit de placer 02 dans AL et cel� fonctionne... AX = 000E CS:3A0D 09C0 OR AX,AX TEST DU CONTENU DE AX. CS:3A0F 7250 JB 3A61 SI 0 ON CONTINUE. CS:3A11 8986B6FE MOV [BP+FEB6],AX AX EST MEMORISE. CS:3A15 EB04 JMP 3A1B BOUCLE DE LA TEMPO. CS:3A17 FF8EB6FE DEC WORD PTR [BP+FEB6] CS:3A1B BF346A MOV DI,6A34 CS:3A1E 1E PUSH DS CS:3A1F 57 PUSH DI En rempla�ant 09C0 par B002 ( MOV AL,02 ) on limite le temps � 2 secondes. Avec PCTOOLS chercher 09C07250 et modifier 09C0 par B002. J'ai recompact� le fichier avec LZ91 en faisant sauter ces 4 lettres afin d'emp�cher la d�compression... FREDDY |